package com.weiqiao.mall.repository;

import com.weiqiao.base.dao.IBaseMongoDao;
import org.bson.Document;
import org.bson.conversions.Bson;

import java.util.List;


/**
 * 订单管理 持久化层 接口 继承IBaseMongoDao
 * @author tiyer
 *
 */
public interface IShopkeeperRepository extends IBaseMongoDao {

    /**
     * 商铺信息
     *
     * @param filter 查询条件
     */
    List<String> getShops(Bson filter);

    /**
     * 商铺信息
     *
     * @param bson 查询条件
     */
    List<String> getShopsByFilterSortSkipLimt(int company_id, Bson bson, Bson sort, int skip, int pageSize);

    /**
     * 更新店铺信息 新增 修改
     *
     * @param filter 查询条件
     * @param json 更新内容
     */
    boolean updateShop(Bson filter, String json);

    /**
     * 更新店铺信息 修改
     *
     * @param filter 查询条件
     * @param doc 更新内容
     */
    boolean updateShop(Bson filter, Document doc);

    /**
     * 更新店铺信息 修改
     *
     * @param bson 查询条件
     * @param bson 更新内容
     */
    boolean updateShopByBson(Bson filter, Bson bson);

    /**
     * 获取单个店铺
     *
     */
    String getOne(Bson filter);

    /**
     * 获取多个店铺
     *
     */
    List<String> getList(Bson filter);

    /**
     * 修改单个店铺
     *
     */
    boolean updateOne(Bson filter, Document doc, boolean bool);

    /**
     * 统计店铺个数
     *
     */
    int countShop(Bson bson);

    /**
     * 共用方法：查询内部list实体(服务，专题，意见反馈,店铺装修)
     *
     * @param doclist 查询条件
     */
    List<String> queryChildEntityList(List<Document> doclist);

}
